package com.demo.jzoffer2;

import org.junit.Test;

/**
 * @author gy
 * @date 2023/02
 */
public class Test0214_01 {
    /**
     * 写一个函数，求两个整数之和，要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。
     * @param a
     * @param b
     * @return
     */
    public int add(int a, int b) {
        if (b == 0){
            return a;
        }
        // a + b 转换为 二进制 加法
        // 非进位：a ^ b 进位：(a & b) << 1
        return add(a ^ b, (a & b) << 1);
    }


    @Test
    public void m1() {
    }

    @Test
    public void m2() {
    }

}
